package main

import (
	"fmt"
)

func main() {

	map1 := make(map[int]int)

	//1.增加和修改
	map1[0] = 1
	map1[1] = 2
	map1[0] = 10 //存在相同的key则覆盖

	//2.删除
	//利用内置函数 delete(map,key)
	//delete函数不会发生异常
	fmt.Println(map1)
	delete(map1, 10)
	delete(map1, 1)
	fmt.Println(map1)

	//注意没有类似clear这样的清空全部的方式，只能通过遍历全部的key进行delete或者直接重新make一个map
	//让之前的map被gc回收
	// for key := range map1 {
	// 	delete(map1, key)
	// }
	// fmt.Println(map1)

	//3.查找
	val, found := map1[10]
	if found {
		fmt.Println(val)
	} else {
		fmt.Println("没有找到")
	}

}
